package com.xmtlxx.wms.domain.bo;

import com.xmtlxx.common.core.domain.BaseEntity;
import com.xmtlxx.common.core.validate.AddGroup;
import com.xmtlxx.common.core.validate.EditGroup;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.springframework.beans.factory.annotation.Value;

import javax.validation.constraints.NotBlank;
import java.util.List;

/**
 * 库位业务对象 t_locator
 *
 * @author xmtlxx
 * @date 2022-08-15
 */

@Data
@EqualsAndHashCode(callSuper = true)
@ApiModel("库位业务对象")
public class LocatorBo extends BaseEntity {

    /**
     * 库位ID
     */
    @ApiModelProperty(value = "库位ID")
    private String id;

    /**
     * 所属库区
     */
    @ApiModelProperty(value = "所属库区", required = true)
    @NotBlank(message = "所属库区不能为空", groups = { AddGroup.class, EditGroup.class })
    private String areaId;

    /**
     * 库位名称
     */
    @ApiModelProperty(value = "库位名称", required = true)
    @NotBlank(message = "库位名称不能为空", groups = { AddGroup.class, EditGroup.class })
    private String name;

    /**
     * 状态
     */
    @ApiModelProperty(value = "状态")
    private String status;


    /**
     * 柜组id
     */
    @ApiModelProperty("柜组id")
    private String cabinetGroupId;
    /**
     * 柜号id
     */
    @ApiModelProperty("柜号id")
    private String cabinetId;
    /**
     * 财物数量
     */
    @ApiModelProperty("财物数量")
    private Long pnums;
    /**
     * 删除标识
     */
    @ApiModelProperty(value = "删除标识")
    @Value("0")
    private String delFlag;

    private String storeId;

    /**
     * 货道号
     */
    @ApiModelProperty("货道号")
    private String aisleCode;
    /**
     * 货道编码
     */
    @ApiModelProperty("货道编码")
    private Long cabinetAisleRelaId;

    @ApiModelProperty("所在层")
    private Integer floors;

    @ApiModelProperty("所在箱")
    private Integer boxs;

    @ApiModelProperty("使用部门")
    private Long useDeptId;


    @ApiModelProperty("所在地域")
    private String region;

    @ApiModelProperty("物品形态")
    private String shape;

    private List<String> shapeList;

    @ApiModelProperty("车辆保管类型")
    private String carType;

    private Integer makeQrcode;

    private Integer showProperites;

    private Integer seq;
}
